<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
  <meta name="generator" content=
  "HTML Tidy for Linux/x86 (vers 1 September 2005), see www.w3.org">

  <title>switch</title>
  <link href="../cppreference.css" rel="stylesheet" type="text/css">
</head>

<body>
<table>
  <tr>
  <td>
  <div class="body-content">

  <div class="header-box">
    <a href="../index.html">cppreference.com</a> &gt; <a href=
    "index.html">C/C++ Keywords</a> &gt; <a href=
    "switch.html">switch</a>
  </div>

  <div class="name-format">
    switch
  </div>

  <div class="syntax-name-format">
    Syntax:
  </div>
  <pre class="syntax-box">
  switch( expression ) {
  case A:
  statement list;
  break;
  case B:
  statement list;
  break;
  ...
  case N:
  statement list;
  break;
  default:
  statement list;
  break;
  }
</pre>

  <p>The switch statement allows you to test an expression for many
  values, and is commonly used as a replacement for multiple <a href=
  "if.html">if</a>()...<a href="else.html">else</a> <a href=
  "if.html">if</a>()...<a href="else.html">else</a> <a href=
  "if.html">if</a>()... statements. <a href="break.html">break</a>
  statements are required between each <a href="case.html">case</a>
  statement, otherwise execution will &quot;fall-through&quot; to the
  next <a href="case.html">case</a> statement. The <a href=
  "default.html">default</a> case is optional. If provided, it will
  match any case not explicitly covered by the preceding cases in the
  switch statement. For example:</p>
  <pre class="example-code">
   char keystroke = getch();
   switch( keystroke ) {
     case &#39;a&#39;:
     case &#39;b&#39;:
     case &#39;c&#39;:
     case &#39;d&#39;:
       KeyABCDPressed();
       break;
     case &#39;e&#39;:
       KeyEPressed();
       break;
     default:
       UnknownKeyPressed();
       break;
   }            
</pre>

  <div class="related-name-format">
    Related topics:
  </div>

  <div class="related-content">
    <a href="break.html">break</a><br>
    <a href="case.html">case</a><br>
    <a href="default.html">default</a><br>
    <a href="if.html">if</a>
  </div>
  </div>
  </td>
  


  </tr>
  </table>
</body></html>
